1. Hexo + Matery blog 搭建

1. 卸载以前安装 hexo

1. 卸载 hexo 及 重新安装

记得备份以前文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
sudo npm uninstall -g hexo-cli

#apt-get 卸载
sudo apt-get remove --purge npm
sudo apt-get remove --purge nodejs
sudo apt-get remove --purge nodejs-legacy
sudo apt-get autoremove

#手动删除 npm 相关目录
sudo rm -r /usr/local/bin/npm
sudo rm -r /usr/local/lib/node-moudels
sudo find / -name npm

sudo rm -rf /usr/local/lib/*

sudo rm -r /tmp/npm*

2. 重新安装nodejs/ npm/ hexo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#重新安装nodejs
sudo curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get update && sudo apt-get install yarn
sudo apt-get install nodejs

#查看版本
node -v
npm -v
# 升级nodejs和npm
sudo npm install n -g
sudo n stable
sudo node -v

sudo npm i -g npm to update

# 安装 hexo
sudo npm install -g hexo-cli
hexo init

2. 安装和配置Matery

1. 安装

hexothemes目录下:

Matery文档

blog实例

1
git clone https://github.com/blinkfox/hexo-theme-matery.git

修改 Hexo 根目录下的 _config.ymltheme 的值为:theme: hexo-theme-matery

2. 插件

  1. sudo npm uninstall hexo-prism-plugin, 如果安装过prism插件,卸载掉!然后修改 Hexo 根目录下 _config.yml
1
2
3
4
5
6
7
8
9
10
11
12
highlight:
enable: false
line_number: true
auto_detect: false
tab_replace: ''
wrap: true
hljs: false
prismjs:
enable: true
preprocess: true
line_number: true
tab_replace: ''
  1. generator-search 安装搜索插件,并在Hexo 根目录下 _config.yml加上3-5行
1
2
3
4
5
sudo npm install hexo-generator-search --save            #搜索

search:
path: search.xml
field: post
  1. hexo-permalink-pinyin 安装链接中文转拼音插件,并在Hexo 根目录下 _config.yml加上3-5行
1
2
3
4
5
sudo npm i hexo-permalink-pinyin --save

permalink_pinyin:
enable: true
separator: '-' # default: '-'
  1. hexo-wordcount 安装字数统计插件
    1
    sudo npm i --save hexo-wordcount
    并在matery主题目录下 _config.yml加上
    1
    2
    3
    4
    5
    6
    7
    postInfo:
    date: true
    update: false
    wordCount: false # 设置文章字数统计为 true.
    totalCount: false # 设置站点文章总字数统计为 true.
    min2read: false # 阅读时长.
    readCount: false # 阅读次数.
  2. hexo-filter-github-emojis 安装emoji插件
    1
    sudo npm install hexo-filter-github-emojis --save
    在Hexo 根目录下 _config.yml加上
    1
    2
    3
    4
    5
    6
    githubEmojis:
    enable: true
    className: github-emoji
    inject: true
    styles:
    customEmojis:
  3. hexo-generator-feed 安装订阅插件
    1
    sudo npm install hexo-generator-feed --save #RSS
    在 Hexo 根目录下的 _config.yml 文件中,新增以下的配置项:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    feed:
    type: atom
    path: atom.xml
    limit: 20
    hub:
    content:
    content_limit: 140
    content_limit_delim: ' '
    order_by: -date
  4. 其它插件安装
    1
    2
    3
    sudo npm install hexo-deployer-git --save                   #git部署
    sudo npm install hexo-generator-seo-friendly-sitemap --save #sitemap

  5. 公式插件插件安装

    卸载hexo-renderer-marked 不然大量行内公式不渲染,安装install hexo-renderer-kramed.

1
2
sudo npm uninstall hexo-renderer-marked --save
sudo npm install hexo-renderer-kramed --save

参考数学公式解决方法

找到hexo博客目录/node_modules/hexo-renderer-kramed/lib/renderer.js,把下面代码修改。

1
2
3
4
5
// Change inline math rule
function formatText(text) {
// Fit kramed's rule: $$ + \1 + $$
return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$');
}
1
2
3
4
5
6
// Change inline math rule
function formatText(text) {
// Fit kramed's rule: $$ + \1 + $$
// return text.replace(/`\$(.*?)\$`/g, '$$$$$1$$$$');
return text;
}

安装mathjax ,如果 已安装hexo-mathsudo npm uninstall hexo-math --save卸载.

这样不能完全解决公式问题,还需要将不能渲染行内公式转变为 $$$ $$$。

1
sudo npm install hexo-renderer-mathjax --save #mathjax

3. proxy

1
2
3
4
sudo npm config set proxy=socks://127.0.0.1:1080
sudo npm config set proxy=http://127.0.0.1:8885
sudo npm config set registry=http://registry.npmjs.org

4. post 头和

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

---
title: typora
date: 2020-09-07 09:25:00
author: miller
img: /source/images/xxx.jpg
top: true
cover: true
coverImg: /images/1.jpg
password: 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
toc: false
mathjax: false
summary: 这是你自定义的文章摘要内容,如果这个属性有值,文章卡片摘要就显示这段文字,否则程序会自动截取文章的部分内容作为摘要
categories: Markdown
tags:
- Typora
- Markdown
---

#a131de

.bg-color {
background-image: linear-gradient(to right, #4cbf30 0%, #0f9d58 100%);
}

sudo npm install hexo-heading-index --save